package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AnalysisMessageSenderInfoComReqDto
 * @使用场景
 */
@Data
public class AnalysisMessageSenderInfoComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 发送消息场景 AUTO_GEN_REPORT_TASK:自动生成汇报任务（待汇报-空转未开始） AUTO_ANA_SUBMIT_TO_SUC:自动分析进行中汇报任务（待汇报转已成功） AUTO_GEN_REPORT_TASK_ONGOING:自动生成汇报任务（待汇报-空转进行中） SUB_REPORT_TASK_SUB_OVERDUW_TO_SUC:提交汇报任务（已逾期转已成功） AUTO_ANA_SUBMIT_TO_SUC:自动分析待汇报任务（待汇报转已成功） AUTO_ANA_NOT_AT_THE_REPORT_TASK_ONG:自动分析待汇报任务（未开始转进行中） OVERDUE_SUB_REPORT_TASK_SUB_TO_EVA:逾期-提交汇报任务（待汇报转评价中） OVERDUE_SUB_REPORT_TASK_SUB_TO_EXA:逾期-提交汇报任务（待汇报转审核中） OVERDUE_SUB_REPORT_TASK_SUB_TO_SUC:逾期-提交汇报任务（待汇报转已成功） OVERDUE_EVA_REPORT_TASK_EVA_TO_EXA:逾期-评价汇报任务（评价中转审核中） OVERDUE_EVA_REPORT_TASK_EVA_TO_SUC:逾期-评价汇报任务（评价中转已成功） OVERDUE_EXA_REPORT_TASK_EXA_TO_SUC:逾期-审核汇报任务（审核中转已成功） OVERDUE_EXA_REPORT_TASK_EXA_TO_FAIL:逾期-审核汇报任务（审核中转已失败） OVERDUE_CANCEL_REPORT_TASK_EVA_TO_SUB:逾期-撤销汇报任务（评价中转待汇报） OVERDUE_CANCEL_REPORT_TASK_EXA_TO_SUB:逾期-撤销汇报任务（审核中转待汇报） OVERDUE_REJECT_REPORT_TASK_EVA_TO_SUB:逾期-驳回任务（评价中转待汇报） OVERDUE_REJECT_REPORT_TASK_EXA_TO_SUB:逾期-驳回任务（审核中转待汇报） SUB_REPORT_TASK_SUB_TO_EVA:提交汇报任务（待汇报转评价中） REMIND_HANDLE_PROBLEM:督办问题 SUB_REPORT_TASK_SUB_TO_EXA:提交汇报任务（待汇报转审核中） SUB_REPORT_TASK_SUB_TO_SUC:提交汇报任务（待汇报转已成功） REMIND_REPORT_TASK:提醒汇报 EVA_REPORT_TASK_EVA_TO_EXA:评价汇报任务（评价中转审核中） EVA_REPORT_TASK_EVA_TO_SUC:评价汇报任务（评价中转已成功） EXA_REPORT_TASK_EXA_TO_SUC:审核汇报任务（审核中转已成功） EXA_REPORT_TASK_EXA_TO_FAIL:审核汇报任务（审核中转已失败） AUTO_ANA_SUBMIT_TO_OVERDUE:自动分析逾期任务（待汇报转已逾期） AUTO_ANA_EVA_TO_OVERDUE:自动分析逾期任务（评价中转已逾期） AUTO_ANA_EXA_TO_OVERDUE:自动分析逾期任务（审核中转已逾期） AUTO_ANA_OVERDUE_TO_FAIL:自动分析失败任务（已逾期转已失败） AUTO_ANA_SUBMIT_TO_FAIL:自动分析失败任务（待汇报转已失败） AUTO_ANA_EVA_TO_FAIL:自动分析失败任务（评价中转已失败） AUTO_ANA_EXA_TO_FAIL:自动分析失败任务（审核中转已失败） CANCEL_REPORT_TASK_EVA_TO_SUB:撤销汇报任务（评价中转待汇报） CANCEL_REPORT_TASK_EXA_TO_SUB:撤销汇报任务（审核中转待汇报） REJECT_REPORT_TASK_EVA_TO_SUB:驳回任务（评价中转待汇报） REJECT_REPORT_TASK_EXA_TO_SUB:驳回任务（审核中转待汇报） ARRANGE_WORK_TASK_TOBESIGN:安排工作任务（待签收） ARRANGE_WORK_TASK_ONGOING:安排工作任务（进行中） ARRANGE_WORK_TASK_NOT_AT_THE:安排工作任务（未开始） CFM_REC_WORK_TASK_SIGN:确认签收工作任务（已签收-空转未开始） AUTO_ANA_WORK_TASK_NOT_AT_THE_TO_ONGOING:自动分析进行中工作任务（未开始转进行中） AUTOMATIC_ANALYSIS_OF_UPCOMING_OVERDUE_WORK_TASKS:自动分析即将逾期工作任务（进行中） ADVANCE_WORK_TASK_NOT_AT_THE_TO_ONGOING:工作任务人工提前开始（未开始转进行中） CFM_REC_WORK_TASK_SIGN_ONGOING:确认签收工作任务（已签收-空转进行中） AUTO_ANA_WORK_TASK_ONGOING_TO_OVERDUE:自动分析逾期工作任务（进行中转已逾期） UPDATE_WORK_TASK_ONGOING_TO_SUC:更新工作任务（进行中转已成功） CANCLE_WORK_TASK_NOT_AT_THE_TO_FAIL:撤销工作任务（未开始转已失败） CANCLE_WORK_TASK_ONGOING_TO_FAIL:撤销工作任务（进行中转已失败） VOID_WORK_TASK_ONGOING_TO_FAIL:作废工作任务（进行中转已失败） VOID_WORK_TASK_OVERDUE_TO_FAIL:作废工作任务（已逾期转已失败） AUTO_ANA_WORK_TASK_ONGOING_TO_FAIL:自动分析失败工作任务（进行中转失败） CREATE_PROBLEM:发起问题（待解决） UPDATE_WORK_TASK_OVERDUE_TO_SUC:更新工作任务（已逾期转已成功） UPDATE_WORK_TASK_ONGOING:更新工作任务（进行中） OTHER_STATUS_PROBLEM_TO_SOLVE:其他状态问题转待解决 OTHER_STATUS_PROBLEM_TO_OVERTIME:其他状态问题转已超时 REMIND_HANDLE_WORK_TASK:督办工作任务 GENERATE_REPORT_TASK_PROBLEM:汇报任务提问题 ISSUE_TARGET:下发目标 GENERATE_REPORT_TASK_SOLUTION:汇报任务提解决思路 GENERATE_REPORT_TASK_SUGGEST:汇报任务提改进建议 CFM_REC_PRIMARY_OBJECTIVE:确认签收一级指标 CFM_REC_SECOND_ABOVE_OBJECTIVE:确认签收二级及以上指标 REMIND_HANDLE_PRIMARY_DEPT_ARRANGE:督办一级部门目标安排 REMIND_HANDLE_SECOND_ABOVE_DEPT_ARRANGE:督办二级及以上部门目标安排 AUTO_ANA_SUB_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（待汇报） AUTO_ANA_EVA_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（评价中） AUTO_ANA_EXA_REPORT_TASK_WILL_OVERDUE:自动分析即将逾期任务（审核中） REVIEW_AND_SUBMIT_THREE_BUSINESS_MESSAGES:审核提交三条业务消息 UPDATE_TARGET_VALUE:修改目标值 CFM_REC_PRIMARY_OBJECTIVE:确认签收一级指标 CFM_REC_SECOND_ABOVE_OBJECTIVE:确认签收二级及以上指标 REMIND_HANDLE_PRIMARY_DEPT_ARRANGE:督办一级部门目标安排 REMIND_HANDLE_SECOND_ABOVE_DEPT_ARRANGE:督办二级及以上部门目标安排 ISSUE_OFFICIAL_DOC_SEND_EVERYONE:下发公文给所有人 ISSUE_OFFICIAL_DOC_SEND_DEPT:下发公文给部门 ISSUE_OFFICIAL_DOC_SEND_PERSON:下发公文给个人 ISSUE_NOTIFICATION_SEND_EVERYONE:下发通知给所有人 ISSUE_NOTIFICATION_SEND_DEPT:下发通知给部门 ISSUE_NOTIFICATION_SEND_PERSON:下发通知给个人 ISSUE_OFFICIAL_DOC_WORK_TASK_ARRANGE:下发公文工作任务安排 URGE_ISSUE_OFFICIAL_DOC_WORK_TASK_ARRANGE:催办公文工作任务安排 ASK_MY_COPYWRITER_ASSISTANT:提问我的文案助手 INITIATE_INDEPENDENT_THIRD_PARTY_QA:发起独立第三方问答 IMPLEMENT_THIRD-PARTY_INTELLIGENT_ANSWER:执行第三方智能回答 MY_INTELLIGENT_QA:我的智能问答 SOLVE_PROBLEM_QTA_TO_OTHER:待解决问题转其他状态（暂搁置、已挂起...） OVERTIME_PROBLEM_QTA_TO_OTHER:已超时问题转其他状态（暂搁置、已挂起...） AUTO_REPORT_AUTO_EXECUTE:自动汇报自动执行指令 REMIND_SIGN_WORK_TASK:提醒签收工作任务 OVERDUE_AUTO_REPORT_AUTO_EXECUTE:逾期-自动汇报自动执行指令 AUTO_ANA_PROBLEM_OVERTIME:自动分析待解决超时问题（已超时）
     */
    @NotNull(message = "发送消息场景不能为空")
    @ApiModelProperty("发送消息场景")
    private String sendMsgScene;

    /**
     * 创建于空间ID
     */
    @NotNull(message = "创建于空间ID不能为空")
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

    /**
     * 角色标识
     */
    @ApiModelProperty("角色标识")
    private String roleCode;

    /**
     * 冗余内容表主键ID
     */
    @ApiModelProperty("冗余内容表主键ID")
    private String entityId;

    /**
     * 虚拟组织使用场景 TARGET_PLAN_SCENE:目标规划场景 WORK_TASK_SCENE:工作任务场景
     */
    @ApiModelProperty("虚拟组织使用场景")
    private String useScene;

}
